<?php
/**
  * 系統名稱: Lotto 系統
  * 檔案說明: 專案管理-修改
  * $Author$
  * $Id$
  *
  */

class CCharset {

	function CCharset(){
	}

	/**
	 * Big5 轉 Gb2312
	 * @param	strWord 欲轉換文字
	 * @return	string
	 */
	function setBig5ToGb($strWord) {
		return iconv("BIG5", "GB2312", $strWord);
	}

	/**
	 * Gb2312 轉 Big5
	 * @param	strWord 欲轉換文字
	 * @return	string
	 */
	function setGbToBig5($strWord) {
		return iconv("GB2312", "BIG5", $strWord);
	}


	/**
	 * UTF-8 Big5 轉 UTF-8 Gb2312
	 * @param	strWord 欲轉換文字
	 * @return	string
	 */
	function setUtf8_Big5ToUtf8_Gb($strWord) {
		$strWord = iconv("UTF-8", "BIG5", $strWord);
		$strWord = iconv("BIG5", "GB2312", $strWord);
		return iconv("GB2312", "UTF-8", $strWord);
	}

	/**
	 * UTF-8 Big5 轉 UTF-8 Gb2312
	 * @param	strWord 欲轉換文字
	 * @return	string
	 */
	function setUtf8_GbToUtf8_Big5($strWord) {
		$strWord = iconv("UTF-8", "GB2312", $strWord);
		$strWord = iconv("GB2312", "BIG5", $strWord);
		return iconv("BIG5", "UTF-8", $strWord);
	}

	/**
	 * 單一 Char => Html Entity Code 轉 UTF-8
	 * @param	strChr 欲轉換 Char
	 * @return	string
	 */
	function setHtmlEntityCodeCharToUtf8($strChr){
		$binChr = (string)decbin($strChr);
		$intLen = strlen($binChr);
		$intHeadLen = $intLen % 6;
		$arrTmp[] = chr(base_convert("111".sprintf("%05s", substr($binChr, 0, $intHeadLen)), 2, 10));
		for($i = $intHeadLen; $i < $intLen; $i += 6){
			$arrTmp[] = chr(base_convert("10".substr($binChr, $i, 6), 2, 10));
		}
		return $arrTmp[0].$arrTmp[1].$arrTmp[2];
	}


	/**
	 * 單一 Char => UTF-8 轉 Html Entity Code
	 * @param	strChr 欲轉換 Char
	 * @return	string
	*/
	function setUtf8ToHTMLEntity($strChr){
		$intLen = strlen($strChr);
		$strCon = (string)base_convert(bin2hex(substr($strChr, 0, 1)), 16, 2);
		$strCon = substr($strCon, $intLen, strlen($strCon) - $intLen);
		for($i = 1; $i < $intLen; $i++){
			$strTmp = (string)base_convert(bin2hex(substr($strChr, $i, 1)), 16, 2);
			$strTmp = substr($strTmp, 2, strlen($strTmp) - 2);
			$strCon .= $strTmp;
		}
		return "&#".bindec($strCon).";";
	}
//-------------------------------------------------------//
//Class End
} //class CCharset {
?>